package com.cgwx.data.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.sql.Timestamp;

@AllArgsConstructor
@Data
@Getter
@Setter
public class NpjAtlasDto {

	private String id;

	@ApiModelProperty(value = "图册文件关联信息id")
	private String npjAtlasInfoId;

	@ApiModelProperty(value = "所属部门")
	private String deptName;

	@ApiModelProperty(value = "bind流程单")
	private String flowId;

	@ApiModelProperty(value = "所属文件夹")
	private String filePath;

	@ApiModelProperty(value = "创建人工号")
	private String cjAccount;

	@ApiModelProperty(value = "创建人姓名")
	private String cjName;

	@ApiModelProperty(value = "多版本文件创建时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private Timestamp infoCreatedTime;

	@ApiModelProperty(value = "多版本文件修改时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private Timestamp infoModifiedTime;

	@ApiModelProperty(value = "对应文件系统file_id")
	private String fileId;

	@ApiModelProperty(value = "对应文件系统file_url")
	private String fileUrl;

	@ApiModelProperty(value = "状态")
	private String status;

	@ApiModelProperty(value = "对应文件系统实体id")
	private String entityId;

	@ApiModelProperty(value = "编写人工号")
	private String bxAccount;

	@ApiModelProperty(value = "编写人姓名")
	private String bxName;

	@ApiModelProperty(value = "报告标题")
	private String atlasTitle;

	@ApiModelProperty(value = "密级")
	private String secretLevel;

	@ApiModelProperty(value = "页数")
	private String page;

	@ApiModelProperty(value = "设计工号")
	private String sjAccount;

	@ApiModelProperty(value = "设计姓名")
	private String sjName;

	@ApiModelProperty(value = "检图工号")
	private String jtAccount;

	@ApiModelProperty(value = "检图姓名")
	private String jtName;

	@ApiModelProperty(value = "审核工号")
	private String shAccount;

	@ApiModelProperty(value = "审核姓名")
	private String shName;

	@ApiModelProperty(value = "批准工号")
	private String pzAccount;

	@ApiModelProperty(value = "批准姓名")
	private String pzName;

	@ApiModelProperty(value = "会签工号")
	private String hqAccounts;

	@ApiModelProperty(value = "会签姓名")
	private String hqNames;

	@ApiModelProperty(value = "生成文件url")
	private String originalFileLink;

	@ApiModelProperty(value = "流程创建时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private Timestamp flowCreatedTime;

	@ApiModelProperty(value = "流程修改时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private Timestamp flowModifiedTime;

	@ApiModelProperty(value = "创建人部门")
	private String cjDeptId;

	@ApiModelProperty(value = "新版本号")
	private String versionId;

	@ApiModelProperty(value = "文件类型")
	private String fileType;

	@ApiModelProperty(value = "文件编号")
	private String fileNum;

	@ApiModelProperty(value = "流程实例id")
	private String relationId;

	@ApiModelProperty(value = "草稿id")
	private String draftId;

	@ApiModelProperty(value = "文件状态")
	private String fileStatus;

	@ApiModelProperty(value = "原始文件名称")
	private String originalFileName;

	@ApiModelProperty(value = "管理类/报告类/图册类")
	private String flowType;

	@ApiModelProperty(value = "审批流数据")
	private String flowData;

	@ApiModelProperty(value = "加工类型")
	private String processType;

	@ApiModelProperty(value = "是否归属项目")
	private String isProject;

	@ApiModelProperty(value = "所属项目")
	private String projectId;

	@ApiModelProperty(value = "项目结构")
	private String projectStructure;

	@ApiModelProperty(value = "图册类型")
	private String atlasType;

	@ApiModelProperty(value = "产品名称一级")
	private String productFirst;

	@ApiModelProperty(value = "产品名称二级")
	private String productSecond;

	@ApiModelProperty(value = "产品应用场景")
	private String productScene;

	@ApiModelProperty(value = "项目名称")
	private String projectName;

	@ApiModelProperty(value = "权限")
	private String authorityLevel;

	@ApiModelProperty(value = "sort")
	private String sort;

	@ApiModelProperty(value = "column")
	private String column;

	public NpjAtlasDto() {

	}

	@Override
	public String toString() {
		return "NpjAtlasDto{" +
				"id='" + id + '\'' +
				", npjAtlasInfoId='" + npjAtlasInfoId + '\'' +
				", deptName='" + deptName + '\'' +
				", flowId='" + flowId + '\'' +
				", filePath='" + filePath + '\'' +
				", cjAccount='" + cjAccount + '\'' +
				", cjName='" + cjName + '\'' +
				", infoCreatedTime=" + infoCreatedTime +
				", infoModifiedTime=" + infoModifiedTime +
				", fileId='" + fileId + '\'' +
				", fileUrl='" + fileUrl + '\'' +
				", status='" + status + '\'' +
				", entityId='" + entityId + '\'' +
				", bxAccount='" + bxAccount + '\'' +
				", bxName='" + bxName + '\'' +
				", atlasTitle='" + atlasTitle + '\'' +
				", secretLevel='" + secretLevel + '\'' +
				", page='" + page + '\'' +
				", sjAccount='" + sjAccount + '\'' +
				", sjName='" + sjName + '\'' +
				", jtAccount='" + jtAccount + '\'' +
				", jtName='" + jtName + '\'' +
				", shAccount='" + shAccount + '\'' +
				", shName='" + shName + '\'' +
				", pzAccount='" + pzAccount + '\'' +
				", pzName='" + pzName + '\'' +
				", hqAccounts='" + hqAccounts + '\'' +
				", hqNames='" + hqNames + '\'' +
				", originalFileLink='" + originalFileLink + '\'' +
				", flowCreatedTime=" + flowCreatedTime +
				", flowModifiedTime=" + flowModifiedTime +
				", cjDeptId='" + cjDeptId + '\'' +
				", versionId='" + versionId + '\'' +
				", fileType='" + fileType + '\'' +
				", fileNum='" + fileNum + '\'' +
				", relationId='" + relationId + '\'' +
				", draftId='" + draftId + '\'' +
				", fileStatus='" + fileStatus + '\'' +
				", originalFileName='" + originalFileName + '\'' +
				", flowType='" + flowType + '\'' +
				", flowData='" + flowData + '\'' +
				", processType='" + processType + '\'' +
				", isProject='" + isProject + '\'' +
				", projectId='" + projectId + '\'' +
				", projectStructure='" + projectStructure + '\'' +
				", atlasType='" + atlasType + '\'' +
				", productFirst='" + productFirst + '\'' +
				", productSecond='" + productSecond + '\'' +
				", productScene='" + productScene + '\'' +
				", projectName='" + projectName + '\'' +
				", authorityLevel='" + authorityLevel + '\'' +
				", sort='" + sort + '\'' +
				", column='" + column + '\'' +
				'}';
	}
}
